In the Generalized Multi-Protocol Label Switching (GMPLS) protocol family, Link Management Protocol (LMP) is used for implementing an association between the control channel management and the data channel ownership. LMP maintains and checks the reliability of the control channel connection through using a mechanism of transceiving a Hello message at a scheduled time by defining two timers.
In LMP specifications, a HelloDeadInterval timer is updated or reset only when a LMP processing unit receives a Hello message from a peer end, and a HelloInterval timer is updated or reset only when the LMP processing unit sends a Hello message. The HelloInterval and the HelloDeadInterval are both measured in milliseconds. In a default case, the HelloInterval is set to be 150 ms, and the HelloDeadInterval is defined to be 500 ms.
FIG. 1 is a diagram showing the principle of the method for processing a LMP packet.
A LMP node includes two timers: one is HelloInterval timer that defines the transmission interval of a Hello message; the other is HelloDeadInterval timer that determines that a peer LMP node fails. As specified in LMP, after each control channel is established, the LMP node sends a Hello message to a peer LMP node periodically at a time interval defined by the HelloInterval; meanwhile, the LMP node also receives a Hello message sent from the peer LMP node periodically at the time interval defined by the HelloInterval.
If the LMP node does not receive Hello message from the peer LMP node in the time period defined by the HelloDeadInterval, it is regarded that the peer LMP node fails, and thereby it is regarded that the control channel between the LMP endpoint and the peer LMP node fails.
If the HelloInterval timer times out, the LMP processing unit is notified to transmit the Hello message. The LMP processing unit sends the Hello message to the peer node via a LMP packet transmitting controller.
The HelloDeadInterval timer and the HelloInterval timer may employ a default scheduled time interval value, or may be set via a configuration and management platform. In the prior art, the LMP node updates the HelloDeadInterval timer only after a Hello packet from the peer end is received, but the HelloInterval timer will not be updated or reset by an outside event.
FIG. 2 shows a flow chart of the method for processing a LMP packet, which includes the following steps:
Step 1: A LMP processing unit receives a LMP packet from a peer LMP node that is input by a LMP packet receiving controller.
Step 2: The LMP processing unit detects the state of a control channel corresponding to the LMP packet received. If the control channel is in an available state, Step 3 is executed; if the control channel is in an unavailable state, Step 5 is executed.
Step 3: It is determined whether the LMP packet is a Hello message. If the LMP packet is a Hello message, Step 4 is executed; otherwise, Step 5 is executed.
Step 4: The LMP processing unit updates or resets a HelloDeadInterval timer.
Step 5: The LMP processing unit processes the packet.
LMP is a control protocol on a light load control channel. However, in the existing method for processing LMP packet, the HelloInterval timer is updated or reset only when a Hello message is sent. Therefore, even when the control channel of a LMP node transceives other control information normally, the Hello message is still sent to the peer node via a LMP packet transmitting controller periodically at a time interval set, according to the HelloInterval. At this point, although the control channel is available evidently, a large amount of unnecessary Hello messages are still congested in the control channel; thus, the utilization of the control channel is lowered. Meanwhile, a large amount of Hello messages may cause the loss and retransmission of a normal control message, and this may further increase the load of the control channel and make it unable to establish a Label Switched Path (LSP) of GMPLS. Moreover, when the load of the control channel is increased due to the interleaving of LMP Hello messages and common control messages, the Hello message may be discarded; thus, the Hello message may not be definitely responded or retransmitted, and finally, it may be caused that the peer end of the control channel considers that the control channel is failed, thereby performs a maloperation.